<?php
// 加载 工具
require_once( './DBUtil.php' );

// 商品修改服务
$pid = $_REQUEST["pid"];
$name = $_REQUEST["name"];
$info = $_REQUEST["info"];
$price = $_REQUEST["price"];
$unit = $_REQUEST["unit"];
// 获取图片
$image = $_FILES["image"];

// 如果文件上传成功，表示用户要修改 封面图片, 否则表示 不修改封面图片
$relativePath = null;
if($image["error"] == 0){
    // 图片保存
    $realPath = "E:/phpwork";// 保存的位置
    // 防止 文件名有中文，只取后缀
    $suffix = substr($image["name"], strpos($image["name"], "."));
    $relativePath = "/wbs20052/shop/images/" . time() . rand(1000, 9999) . $suffix;
    move_uploaded_file($image["tmp_name"], $realPath . $relativePath);
}

$conn = getConn();
// 商品名称重复验证(在没有修改商品名称时，不能和自己比较)
$checkSql = "select p_name from t_product where p_name = '$name' and p_id != $pid";
$proArr = query($conn, $checkSql);
if($proArr){
    // $proArr 数组中有数据, 即表示 当前的 商品名称已重复
    header("location:/wbs20052/shop/product_find_service.php?msg=商品名称已重复&pid=$pid");
    return;
}

// 开启事务
mysqli_query($conn, "begin");
$sql = "update t_product set ";
if($relativePath){
    // 上传了新封面图片
    $sql .= " p_image_url = '$relativePath', ";
}
$sql .= " p_name='$name', p_info='$info', p_price=$price, p_unit='$unit' ".
" where p_id = $pid ";

$result = update($conn, $sql);
if(!$result){
    mysqli_query($conn, "rollback");
    // 修改失败
    header("location:/wbs20052/shop/product_find_service.php?msg=".mysqli_error($conn)."&pid=$pid");
    return;
}
// 全部添加成功后, 提交
mysqli_query($conn, "commit");

// 添加成功, 回到商品管理页面
header("location:/wbs20052/shop/productManage.php");
?>